#!groovy window下jenkins配置，jdk与maven不存在访问权限问题，可以使用docker-compose启动服务
pipeline{
    agent any
    //定义仓库地址
    environment {
        REPOSITORY="https://gitee.com/lesserPanda/lspand-elasticsearch-server.git"
    }

    stages {

        stage('获取代码'){
            steps {
                echo "start fetch code from git:${REPOSITORY}"
                //清空当前目录
                deleteDir()
                //拉去代码  
                git "${REPOSITORY}"
            }
        }

        stage('代码静态检查'){
            steps {
                //伪代码检查
                echo "start code check"
            }
        }       

        stage('编译+单元测试'){
            steps {
                echo "start compile"
                //切换目录
                dir('../lspand-elasticsearch-server') {
                    //重新打包
                    bat 'mvn clean package install -U'
                }
            }
        }

        stage('构建镜像'){
            steps {
                echo "start build image"
                dir('../lspand-elasticsearch-server') {
                    //build镜像
                    // bat 'docker build -t manbanpai/lspand-elasticsearch-server:0.0.1-SNAPSHOT .'
                    // mvn命令打包镜像
                    bat 'mvn dockerfile:build'
                    //登录镜像仓库
                    bat 'docker login -u manbanpai -p kaiji123...'
                    //推送镜像到镜像仓库，如果需要，将下面注释取消
                    bat 'docker push manbanpai/lspand-elasticsearch-server:0.0.1-SNAPSHOT'
                }
            }
        }

        stage('启动服务'){
            steps {
                echo "start lspand-elasticsearch-server"
                //重启服务
                bat 'docker-compose up -d --build'
            }
        }               

    }
}
